package boundary;

import java.util.List;

import entity.IOperatoerDTO;

public interface IHovedmenu {
	
	/**
	 * Viser startmenuen og beder brugeren foretage et valg
	 * @return Brugerens valg
	 */
	int start();
	
	/**
	 * Viser operatør-administratorens menu 
	 * @return Administratorens valg
	 */
	int oprAdminMenu();
	
	/**
	 * Beder brugeren indtaste user-ID
	 * @return Indtastet user-ID 
	 */
	int getUserID();
	
	/**
	 * Beder brugeren indtaste password
	 * @return Indtastet password
	 */
	String getUserPass();
	
	/**
	 * Viser status på loginforsøg
	 * @param b True = korrekt brugerID og password. False = forkert brugerID og/eller password.
	 */
	void loginStatus(boolean b);
	
	/**
	 * Beder brugeren indtaste et nyt password
	 * @return Nyt password
	 */
	String getUserNewPass();
	
	/**
	 * Viser status på sidst modtagne kommando fra brugeren
	 * @param b True = kommando godkendt. False = kommando afvist/ej genkendt.
	 */
	void commandStatus(boolean b);
	
	/**
	 * Beder bruger indtaste fornavn(e) på operatør
	 * @return Indtastet navn(e)
	 */
	String oprForName();
	
	/**
	 * Beder bruger indtaste efternavn på operatør
	 * @return Indtastet efternav
	 */
	String oprLastName();
	
	/**
	 * Beder bruger indtaste CPR-nummer på operatør
	 * @return Indtastet CPR-nummer
	 */
	String oprCpr();
	
	/**
	 * Viser en tekst til brugeren
	 * @param output Teksten den ønskes vist
	 */
	void showText(String output);
	
	/**
	 * Viser data på netop ny-oprettet operatør
	 * @param txt Operatørs bruger ID + password
	 */
	void showOprCreated(String txt);
	
	/**
	 * Viser en liste over operatørerer
	 * @param opr Liste af operatørere
	 */
	void listOpr(List<IOperatoerDTO> opr);
}